A conventional technique described in JP 2008-232649 A will be briefly described below with reference to FIG. 5. A cosine wave signal SC detected by a position sensor 24 is amplified in an amplifier 3 and output as a numerical value AC. Further, a sine wave signal SS detected by a position sensor 25 is amplified in an amplifier 4 and output as a numerical value AS. The amplified numerical values AC and AS are digitized in AD converters 6 and 7 at a sampling interval indicated by a timing signal TIM, which is output from a timing controller 5, and output as numerical values DC and DS, respectively. In an ideal state, the numerical values DC and DS can be expressed by the following Equations 1 and 2:DC=G×COS(36θ)  Equation 1DS=G×SIN(36θ)  Equation 2
In fact, however, the two digitized numerical values DC and DS include offset values COF and SOF, a phase difference P between the two signals, and an amplitude ratio B of the two signals resulting from installation errors of the position sensors, variations in characteristics of the amplifiers 3 and 4, and other factors. For this reason, following Equations 3 and 4 can be used to precisely express the numerical values DC and DS, respectively.DC=G×COS(36θ)+COF  Equation 3DS=B×G×SIN(36θ)+P·G·COS(36θ)+SOF  Equation 4
Here, the offset values COF and SOF, the value P indicative of the phase difference, and the value B indicative of the amplitude ratio are slightly changed depending on measurement positions. With this in view, correction values for eliminating the offset values COF, SOF, a phase error, and an amplitude ratio error are constantly calculated in JP 2008-232649 A, to correct for the numerical values DC and DS based on the calculated correction values.
Specifically, a storage 30 stores a cosine offset correction value CO which is a numerical value used for eliminating an offset component (COF) contained in the numerical value DC. A subtractor 8 subtracts the cosine offset correction value CO stored in the storage 30 from the digitized numerical value DC to obtain a numerical value DCA, and outputs the obtained value DCA.
In addition, a storage 31 stores a sine offset correction value SO which is a numerical value used for eliminating an offset component (SOF) contained in the numerical value DS. A subtractor 9 subtracts the sine offset correction value SO stored in the storage 31 from the digitized numerical value DS to obtain a numerical value DSA, and outputs the obtained value DSA.
A storage 32 stores a phase correction value PJ which is a numerical value used for calculating a phase difference (P) contained in the numerical value DSA. A multiplier 15 multiplies the numerical value DCA by the phase correction value PJ, and a subtractor 14 subtracts the multiplied value output from the multiplier 15 from the numerical value DSA to obtain a numerical value DSB.
A storage 33 stores an amplitude ratio correction value BJ which is a numerical value used for correcting for the amplitude ratio (B) contained in the numerical value DSB. A multiplier 16 multiplies the numerical value DSB by the amplitude ratio correction value BJ to calculate a numerical value DSC.
The above-described operations produce numerical values DCA and DSC in which the offset, the phase difference, and the amplitude ratio are corrected. The numerical values DCA and DSC are input into a radius calculator 18 and an interpolation calculator 17. The radius calculator 18 outputs a radius value RD obtained by calculation using the numerical values DCA and DSC in accordance with Equation 5.RD=√{square root over (DCA2+DSC2)}  Equation 5
The interpolation calculator 17 performs an arctangent calculation using the numerical values DCA and DSC to calculate an interpolation position IP (i.e. position information). Here, a counter value obtained by count processing based on changes in the signal SC and the signal SS, the interpolation position IP, and other values may be used to calculate positions separated by a pitch smaller than the pitch of the wavelength λ, which is beyond the purpose of explanation of the present invention, and is therefore not described further.
In a fast Fourier calculator 19, a change in the radius value RD relative to the interpolation position IP is analyzed by Fourier analysis. More specifically, the fast Fourier calculator 19 performs averaging and interpolation processing to obtain a value corresponding to the radius value RD for each positional change by λ/2N of the interpolation position IP, and calculates the first- to third-order components of an amount of change in the radius value RD through Fourier analysis. Further, the fast Fourier calculator 19 calculates an average radius value RDA from 2N radius values RDs.
Here, the cosine component and sine component of the wavelength λ, which are the first-order components obtained by the Fourier calculation, are defined as numerical values C1 and S1; the cosine component and sine component of a wavelength λ/2, which are the second-order components, are defined as numerical values C2 and S2; and the cosine component and sine component of a wavelength λ/3, which are the third-order components, are defined as numerical values C3 and S3.
A calculator 36 adds the cosine component C1 of the wavelength λ being the first-order component calculated in the fast Fourier calculator 19 to a present cosine offset correction value CO stored in the storage 30, and subtracts from the added result the cosine component C3 of the wavelength λ/3 being the third-order component to calculate the numerical value COA. The calculated numerical value COA is stored as a next cosine offset correction value CO in the storage 30.
A calculator 37 adds both the sine component S1 of the wavelength λ being the first-order component calculated in the fast Fourier calculator 19 and the sine component S3 of the wavelength λ/3 being the third-order component calculated in the fast Fourier calculator 19 to a present sine offset correction value SO stored in the storage 31 to calculate a numerical value SOA. The calculated numerical value SOA is stored as a next sine offset correction value SO in the storage 31.
A calculator 35 uses the numerical value S2 which is the sine component of the wavelength λ/2 calculated in the fast Fourier calculator 19 and the numerical value RDA of the average radius for calculation of below-described Equation 6, to find and output a numerical value DP.DP=2×S2/RDA  Equation 6
A subtractor 38 subtracts the numerical value DP calculated in the calculator 35 from the present phase correction value PJ stored in the storage 32 to calculate the numerical value PJA which is stored as a next phase correction value PJ in the storage 32.
A calculator 34 uses the numerical value C2 which is the cosine component of the wavelength λ/2 calculated in the fast Fourier calculator 19 and the numerical value RDA of the average radius for calculation of below-described Equation 7, to find and output a numerical value DB.DB=(RDA+C2)/(RDA−C2)  Equation 7
A multiplier 39 multiplies a present amplitude ratio correction value BJ stored in the storage 33 by the numerical value DB calculated in the calculator 34 to calculate a numerical value BJA which is stored as a next amplitude ratio correction value BJ in the storage 33.
In the conventional technique, the offset, phase difference, and amplitude ratio are slightly changed depending on positions, and such slight changes are determined through the above-described calculations, to improve accuracy in interpolation by means of the determined changes.
Meanwhile, in JP 2008-232649 A, the offset, the phase difference, and the amplitude ratio that depend on positions are calculated based on the numerical values obtained by applying Fourier analysis to the square root of the sum of squares of two signals (DCA and DSC) having a wavelength λ in a pitch period (i.e. the radius value RD), to realize high accuracy in interpolation using the calculated results. In a position detector of JP 2008-232649 A, however, when a difference between the present and next offset correction values or a difference between the present and next amplitude ratio correction values becomes significant due to a greater change in the offset or the amplitude ratio, an error will be introduced into the phase correction value. Further, when a difference between the present and next phase correction values becomes significant due to a greater change in the phase difference, an error will be introduced into the amplitude ratio correction value that is to be updated.
In other words, in the conventional technique, when the position sensor exhibits a wide range of variations in the offset, the phase difference, and the amplitude ratio, responsiveness of correction values to be updated is deteriorated. The deteriorated responsiveness has contributed a hindrance to achieving improvement in interpolation accuracy.